<?php

class FriendshipController extends Controller
{
	// Uncomment the following methods and override them if needed
	/*
	public function filters()
	{
		// return the filter configuration for this controller, e.g.:
		return array(
			'inlineFilterName',
			array(
				'class'=>'path.to.FilterClass',
				'propertyName'=>'propertyValue',
			),
		);
	}

	public function actions()
	{
		// return external action classes, e.g.:
		return array(
			'action1'=>'path.to.ActionClass',
			'action2'=>array(
				'class'=>'path.to.AnotherActionClass',
				'propertyName'=>'propertyValue',
			),
		);
	}
	*/
	public function actionIndex()
	{
	}

	public function getFriend6($user_id)
	{
		$friends = Friendship::model()->getFriend6($user_id);
		$data = array();
		foreach ($friends as $friend) {
			$attributes = $friend->attributes;

			$id = $attributes['friend_id'];
			$data[] = UserController::view($id);
		}
		return $data;
	}


	public function friends($user_id)
	{
		$friends = Friendship::model()->friends($user_id);
		if(isset($friends[0]))
		{
			for ($i=0; $i < count($friends); $i++){
				$friendsTemp = $friends[$i]['friends'];
				$friends[$i] = User::model()->viewIdNameAvatar($friends[$i]['user_id']);
				$friends[$i]['friends'] = $friendsTemp;
			}
		}
		return $friends;
	}

	public function listRequesting($user_id)
	{
		$data = Friendship::model()->viewListNotification($user_id,3);

		$listRequesting = array();
		for ($i=0; $i <count($data) ; $i++)
		{
			$listRequesting[$i] = $data[$i]->attributes;
			$listRequesting[$i] = User::model()->viewIdNameAvatar($listRequesting[$i]['user_id']);
		}
		return $listRequesting;
	}

	public function viewListNotification($user_id)
	{
		$data = Friendship::model()->viewListNotification($user_id,5);

		$notificationRequesting = array();
		for ($i=0; $i <count($data) ; $i++)
		{
			$dataTemp = $data[$i]->attributes;
			$notificationRequesting[$i] = $dataTemp;
			$notificationRequesting[$i] = User::model()->viewIdNameAvatar($notificationRequesting[$i]['user_id']);
			if($dataTemp['status'] == 'request(0)')
				$notificationRequesting[$i]['read'] = 0;
			else
				$notificationRequesting[$i]['read'] = 1;
		}
		return $notificationRequesting;
	}

	public function allRead($user_id)
	{
		$status = Friendship::model()->allRead($user_id);
		if($status == '')
			return 'Cập nhật các yêu cầu kết bạn đã đọc thất bại';
		else
			return '';
	}

	public function requestFriendship()
	{
		$friend_id = $_POST['request']['friend_id'];
		$action = $_POST['request']['action'];

		$user_id = Yii::app()->user->getId();
		switch ($action) {
			case 'accept':
				$status = Friendship::model()->acceptRequest($user_id,$friend_id);
				if($status == 0)
					return 'Cập nhật đồng ý yêu cầu kết bạn thất bại';
				else
					return '';
				break;
			case 'deny':
				$status = Friendship::model()->denyRequest($user_id,$friend_id);
				if($status == '')
					return 'Cập nhật không đồng ý yêu cầu kết bạn thất bại';
				else
					return '';
				break;
			case 'sendRequest':
				$status = Friendship::model()->sendRequest($user_id,$friend_id);
				if($status == '')
					return 'Cập nhật gửi yêu cầu kết bạn thất bại';
				else
					return '';
				break;
			case 'unfriend':
				$status = Friendship::model()->unfriend($user_id,$friend_id);
				if($status == '')
					return 'Cập nhật tuyệt giao mối quan hệ thất bại';
				else
					return '';
				break;
		}
	}

	public function getRelation($user_id,$friend_id)
	{
		if($user_id != $friend_id){
			$relation = Friendship::model()->getRelation($user_id,$friend_id);
			if($relation == false){
				$relation = 'no';
				$relation = 'Kết bạn';
			}else{
				if($relation['status'] == 'friend'){
					$relation = 'friend';
					$relation = 'Bạn bè';
				}else{
					if($user_id == $relation['user_id']){
						$relation = 'send';
						$relation = 'Đã gửi yêu cầu kết bạn';
					}else{
						$relation = 'get';
						$relation = 'Trả lời yêu cầu kết bạn';
					}
				}
			}
		}else{
			$relation = 'Chính mình';
		}
		return $relation;
	}

	public function getQuantitySameFriend($user_id,$friend_id)
	{
		$data = Friendship::model()->getQuantitySameFriend($user_id,$friend_id);
		return $data;
	}

	public function getQuantityUnread($user_id)
	{
		$data = Friendship::model()->getQuantityUnread($user_id);
		if(count($data)>0){
			return intval($data['quantityUnread']);
		}else{
			return 0;
		}
	}

	public function actionTest()
	{
		$test =  FriendshipController::getQuantitySameFriend(1,11);
		var_dump($test);
	}

	public function sendRequest($user_id,$friend_id)
	{
		return Friendship::model()->sendRequest($user_id,$friend_id);
	}


}